Here below, we shall strive more particularly to describe the existing issues and questions faced by the inventors of the present application in a wireless synchronous communications system. The invention is of course not limited to this particular context of application but is worthwhile in all cases in which a data stream is transmitted on a communications network, the data stream being transmitted from an emitter device to a receiver device in the form of data packets of predefined size, a data packet being filled up with a padding synchronization symbol if an amount of applications data to be transmitted in said data packet is below the predefined size of the data packet.
The terms “data packet” are synonymous with the terms “data formats” (see notably the description of FIGS. 3 and 4).
For a wireless synchronous communications system, or more generally for a synchronous communications system provided with a non-reliable mode of transport, a fixed bandwidth is reserved for the transport of an isochronous constant bit rate stream. The reservation is done through virtual channels at constant bit rate.
Classically, the aggregation of the bit-rates of virtual channels is always greater than the bit-rate needed to transport the isochronous constant bit rate stream.
Indeed, if the bit-rate of the isochronous stream is not entirely divisible by the bit-rate of a virtual channel, then a higher bit-rate is reserved in order to ensure the transport of the isochronous stream. If the bit-rate of the isochronous stream is exactly divisible by the bit-rate of a virtual channel, then the transport of the isochronous stream is theoretically possible through the number of virtual channels obtained by the division of the bit-rate of the synchronous stream by the bit-rate of a virtual channel.
However, for an audio multi-channel application for example, the fact that the applications clock that governs the generation of the isochronous stream and the network clock that clocks a TDM (Time Division Multiplexing) cycle of the network are independent of each other does not ensure the precise concordance of the bit-rates at each TDM cycle of the synchronous network. It is then necessary to reserve additional bandwidth in order to ensure that the entire isochronous stream is definitely transported.
Consequently, on all the virtual channels allocated to the transport of an isochronous constant bit rate stream, the last virtual channel is not used routinely at each TDM cycle of the synchronous network.
Classically, padding data, also called synchronization symbols or NULL symbols here below in the description, are inserted into these unused virtual channels. These pieces of padding data are explicitly marked as such and serve solely to ensure that an identical number of data elements is sent at each TDM cycle.
Thus, the entire sequence of virtual channels at each TDM cycle is transported by the insertion therein of these padding symbols at the position of the empty channels. The clocking of the data of a stream on a receiver node is thus simplified.
However, in the context of a non-reliable transportation system and in the event of data losses, it is impossible to know if the content of a virtual channel lost during a TDM cycle corresponded to real data given by an application and designed to be transported or else if this data was simply padding data.
The problem of not knowing the nature of the content of the lost virtual channels (the presence or not of data) is a particularly sensitive one in the case of a set of data streams that have to be synchronized with one another, as is the case for an application to a 5.1 home cinema type audio multi-channel application.
Indeed, in an application of this kind an audio channel can be sent to several different destinations. This makes it necessary for the audio samples of each isochronous streams sent at the same point in time to be processed at the same time and in the same order by each destination.
The guarantee of synchronism is thus obtained by the fact of sending the same number of data elements to each destination node (each node processes the same number of data elements).
Methods for synchronizing data streams, known to those skilled in the art, are based on protocol layers within isochronous data generating devices which use data time-stamping techniques that enable the definition of the instant at which the data must be provided, at the sink device level, to the higher protocol layer.
However, these mechanisms necessitate the computation of these time-stamping data elements and thus increase transport latency. Furthermore, these mechanisms necessitate precise and absolute synchronization of the internal clocks of the sender and receiver devices in order that these devices may have the same time reference at their disposal.
Now, in the absence of time-stamping, if a node loses data elements without knowing how many data elements have been lost (whether or not in the presence of synchronization symbols), then there is a risk that this node will delay the restitution of its isochronous stream relatively to the other nodes which have accurately received the data. In the case of an audio multi-channel application, there is then a risk that the sound restitution of the receivers might generate a sound echo.
At present, there are several techniques using synchronization symbols.
Thus, synchronous communications networks such as the SONET (for Synchronous Optical Networking) based on optical fibers use synchronization symbols to indicate an absence of streams.
However, optic fiber transmissions are very reliable and data losses in such carriers are rare. Thus, there is no need for techniques to manage losses of synchronization symbols.
Technologies such as the HDLC (High Level Data Link Control) also use a “NULL” symbol to complement a data frame when a transmitter is short of data, as described in the document U.S. Pat. No. 5,410,536. In this document U.S. Pat. No. 5,410,536 the loss of data is managed by an acknowledgement and retransmission system.
An error management system of this kind does not entail the need to determine the nature of the lost data, i.e. the need to know if the lost data is a piece of real data of a data frame or else “NULL” symbol.
Again, owing to the delays caused by retransmission, this technique is not suited to the transportation of audio and/or video type data necessitating a transportation of data in the form of synchronous and constant streams.
Another document U.S. Pat. No. 5,896,388 describes a mode of transport of synchronous data on an asynchronous network using a phase-locked loop or PLL in order to reconstitute the transmission clock at the receiver node level.
This technique is used to wipe out the variations in transmission times inherent in the asynchronous network, firstly by temporarily storing a certain quantity of data at reception and secondly by reading the data from the temporary storage at an almost constant pace, the pace being accelerated if the store gets filled to quickly or else slowed down if the store empties too quickly. This technique enables the approximate reconstitution of the transmission clock if there is no loss of data in the asynchronous network. This technique inserts systems data when a loss of applications data is detected, and does so in order to compensate for the loss of data and comply with the temporary storage filling rate.
However, this technique cannot be used to determine the nature of the lost data (i.e. whether it is applications data or systems data).
Another system described in the document U.S. Pat. No. 6,658,027 enables the management of the temporary reception storage by the elimination or addition of data, depending in whether the storage gets empty too quickly or not quickly enough, in order to correct the synchronism of the network.
However, these systems do not use methods to determine the type of the data losses.